Alteryxのスケジューラの実行ユーザについて
こんにちは、小澤です。
Alteryxでは以下の2つの方法でワークフローのスケジュール実行が可能です。
- Alteryx Serverのスケジュール機能を利用する
- Automation add-onのスケジュール機能を利用する
今回は、これらを使った際の実行ユーザについて解説していきます。
実行ユーザとは
Alteryxの実行ユーザは「誰が」そのワークフローを実行したかという情報になります。 Alteryx Designerを利用している時には実行した際にログインしているユーザとなります。
一方で、スケジューラからの実行やAlteryx Serverでは実行者がログインユーザにはなりません。 これらはWindows上でサービスとして動いているものが実行を行うのでそのサービスが実行ユーザとなります。
この動きを確認するには、Run Commandツールを使った簡単なワークフローを作成します。
Run Commandツールの設定は以下のようになっています。
呼び出しているexec_user.batは
whoami > %1
の1行のみです。 whoamiは現在の実行ユーザを出力しますので、それをファイルにリダイレクトしてAlteryx側に渡しているわけです。
続いて、ひっそりと登場したAPI Outputツールですが、こちらはデータを実行ログに出力するためのツールになります。
このツールを使った時のデータとログ出力の組み合わせは以下のようになっています。
このツールを利用することで、実行ユーザをログに出力しています。
実行ユーザを変更するには
この実行ユーザの違いは多くの場合であまり意識しなくていい情報です。 しかし、この違いによってワークフローがうまく動かない場合があります。
それはどう行った状態かというと、例えばSSOでPCにログインしてるユーザ情報で認証したところからデータを取得するような場合、 実行ユーザが異なるため、データを取得できません。
そのため、実行ユーザをデータにアクセスが可能な適切なユーザに設定してやる必要があります。 その設定方法は、
- Alteryx Serverの場合初期設定に使ったSysmte Settingsを起動
- Automation add-onの場合は Options > Advanced Options > System Settingsを選択
とします。 システムの設定画面が表示されますので、以下の設定まで「Next」で飛ばして行きます。
この画面で、「Run as a differnt user」にチェックを入れて実行するユーザの設定を行います。
Domainには、Active Directoryなどでユーザを管理している際のドメインを入れることを想定しています。 実行ユーザがADで管理されていない場合は、「.」(ドット1文字)を入れることでローカルドメインにする設定が可能です。
実行ユーザとして設定すべきユーザは?
この画面で設定すべきユーザは誰にすればいいのでしょうか? Automation add-onであれば普段そのPCでAlteryxを利用しているユーザにしておけば問題ないでしょう。
一方、Alteryx Serverの場合は共通の設定となります。 この場合、組織内の多くの人が利用することが想定されます。 そういった場合ですと、実行ユーザとしては一通り権限を持ってるシステム用のユーザなどを発行してもらいAlteryx Sever上でのワークフロー実行権限やヒストリの閲覧権限などを適切に設定するといいかと思います。
おわりに
今回は、Alteryxの実行ユーザについて解説しました。
Alteryx DesignerとスケジューラやServerでの挙動が異なると、なかなか原因特定が難しかったりします。 その際は今回のようなこともご確認ください。
Alteryxの導入なら、クラスメソッドにおまかせください
日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。